iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0
Software Development

30天收斂後端開發心法系列 第 12

30天收斂後端開發心法 - (12) 如何用 Laravel 產 Excel

  • 分享至 

  • xImage
  •  

身為後端工程師,處理資料是家常便飯,在專案中也經常需要產出報表。
在 Laravel 中,我們可以透過套件 PhpOffice\PhpSpreadsheet\Spreadsheet 來 讀取與匯出 Excel。

安裝套件

在 Laravel 專案中使用 Composer 安裝:
composer require phpoffice/phpspreadsheet

讀取 Excel 檔案

建立適合的 Reader
PhpSpreadsheet 會根據檔案的副檔名或內容,自動建立對應的 Reader:

use PhpOffice\PhpSpreadsheet\IOFactory;

$reader = IOFactory::createReaderForFile($fullPath);

載入 Excel 檔案

$spreadsheet = $reader->load($fullPath);

取得所有工作表名稱

$resultArray = $spreadsheet->getSheetNames();
你也可以進一步讀取每個儲存格的資料。

匯出 Excel 檔案

建立一個 Spreadsheet 物件

use PhpOffice\PhpSpreadsheet\Spreadsheet;

$spreadSheet = new Spreadsheet();

取得目前作用中的工作表

$activeSheet = $spreadSheet->getActiveSheet();

設定 Excel 的內容(用陣列快速寫入)

$activeSheet->fromArray(
    $arrayData,  // 要寫入的資料(例如 [['Name', 'Score'], ['Alice', 90]])
    null,        // null 表示保留空白或 null 值
    'A1',        // 從 A1 開始寫入
    true         // 將資料當作純值處理(避免被當成公式)
);

設定樣式

你可以設定底線、底色、文字對齊、數字格式等等。
參考官方文件

建立 Writer 並輸出到檔案

use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$writer = new Xlsx($spreadSheet);
$writer->save($fullPath);  // 通常可存到 storage 資料夾底下

上一篇
30天收斂後端開發心法 - (11) Laravel Pint
下一篇
30天收斂後端開發心法 - (13) Laravel 產 PDF
系列文
30天收斂後端開發心法30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言